package com.longe.util;

import com.longe.channel.MyProcessor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.support.MessageBuilder;
import org.springframework.stereotype.Component;

/**
 * 负责向中间件发送数据
 *      1.发送消息的话,定义一个通道接口,通过接口中内置的messageChannel
 *              springCloudStream中内置接口  Source（这里使用自定义的 MyProcessor）
 *      2.@EnableBinding : 绑定对应通道
 *      3.发送消息的话,通过MessageChannel发送消息
 *          * 如果需要MessageChannel --> 通过绑定的内置接口获取
 */
@Component
@EnableBinding(MyProcessor.class)
public class MessageSender {

	@Autowired
	private MessageChannel my_output;

	//发送消息
	public void send(Object obj) {
		my_output.send(MessageBuilder.withPayload(obj).build());
	}
}